متغیر ها، ظرفی برای ذخیره اطلاعات هستند.
مثال
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
خروجی کد بالا:
11
آیا جبر را از زمان مدرسه به یاد دارید؟
x=5, y=6, z=x+y
آیا به یاد می آورید که یک حرف (مانند x) می تواند برای نگهداری یک مقدار (مثل 5) به کار رود و شما می توانید طبق اطلاعات بالا مقدار z را برابر 11 ارزیابی کنید.
این حروف، متغیر نامیده می شوند و آنها را می توان برای نگهداری مقادیر (x=5) و یا عبارات (z=x+y) استفاده کرد.
x=5
y=6
z=x+y
 |
به متغیرها مانند ظرفی برای نگهدازی داده ها نگاه کنید. |
متغیير ها در PHP
- متغیيرها براي ذخيره ي مقادير مانند رشته هاي متني، اعداد، يا آرايه ها استفاده مي شوند.
- زماني که يک متغیير را تعريف مي کنيد، مي توانيد آنرا در کدتان بارها و بارها استفاده کنيد.
- در PHP متغیير ها برخلاف C نوع خاصي ندارند، و از متغیيرها بدون تعريف قبلي مي توان استفاده نمود.
- هر متغیير با علامت $ در ابتداي آن مشخص مي شود.
روشي صحيح براي تعريف يک متغیير در PHP:
$var_name = value;
توجه: اغلب برنامه نويسان تازه کار در PHP فراموش مي کنند که در ابتداي نام متغیير علامت $ را درج کنند، در اين صورت برنامه کار نخواهد کرد.
مثال1: در زير يک متغیير با محتويات رشته و يک متغیير ديگر با محتويات عدد تعريف شده است:
<?php
$txt="Hello World!";
$x=16;
?>
قواعد نامگذاري متغیير ها در PHP
- نام يک متغیير بايد با يک حرف يا يک "_" آغاز شود.
- نام يک متغیير مي تواند شامل اعداد، حروف کوچک و بزرگ و "_" باشد. (0-9,A-Z,a-z)
- نام متغیير ها نبايد شامل فضاي خالي باشد.
- نام متغیرها به حروف بزرگ و کوچک حساس است. (y$ و Y$ دو متغیر متفاوت اند)
 |
بیاد داشته باشید که متغیرها در PHP به حروف کوچک و بزرگ حساس هستند. |
ایجاد یا اعلان متغیرها در PHP
در PHP دستوری برای ایجاد متغیرها وجود ندارد.
یک متغیر زمانی که مقداری را به آن اختصاص می دهید ایجاد می شود.
مثال
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;
echo "<br>";
echo $x;
echo "<br>";
echo $y;
?>
خروجی کد بالا:
بعد از اجرای مثال بالا، متغیر txd مقدار "!Hello world"، متغیر x مقدار "5" و متغیر y مقدار "10.5" را در خود نگهداری می کنند.
توجه: زمانی که می خواهید یک مقدار رشته ای را به یک متغیر اختصاص دهید از علامت ' استفاده نمایید.
PHP يک زبان بي ربط و بي قاعده (Loosely Type Language)
در PHP يک متغیير نيازي به تعريف پيش از استفاده ندارد.
در مثال بالا، مي بينيد که مجبور نيستيد به PHP بگوييد که متغیير از چه نوع داده اي است، PHP به طور خودکار متغیير ها را به نوع داده اي مناسب شان تبديل مي کند که بستگي دارد چگونه مقدار دهي شده باشند.
در يک زبان برنامه نويسي قوي (مانند C یا Java) شما بايد نوع و اسم متغیير را پيش از استفاده تعيين کنيد. در PHP متغیير ها زماني که شما از آنها استفاده مي کنيد به طور خود کار تعريف مي شوند.
محدوده متغیرها در PHP
در PHP، متغیرها در هرجایی از کد می توانند اعلان شوند.
منظور از محدوده، بخشی از اسکریبت است که متغیر می تواند در آن محدوده استفاده شود.
سه محدوده مختلف برای متغیرها وجود دارد:
متغیر های محلی (local) در PHP
متغیرهایی که داخل یک تابع اعلان شده اند، تنها داخل همان تابع، قابل دسترسی اند. (متغیرهای با قلمرو محلی)
متغیرهای محلی به محض اینکه عملیات تابع تکمیل شد، حذف می شوند.
 |
شما می توانید در توابع مختلف، متغیرهای محلی با نام های یکسان داشته باشید. بخاطر اینکه متغیرهای محلی، تنها بوسیله تابعی که آنها را اعلان کرده است شناخته می شوند.
|
در بیاموزهای بعدی، درباره توابع بیشتر خواهید آموخت.
متغیر های عمومی (global) در PHP
متغیرهایی که خارج از توابع اعلان شده اند، عمومی می شوند، و در تمام اسکریبت بجز توابع، به آنها دسترسی خواهد بود.
زمانی که یک صفحه وب را ببندید، متغیرهای عمومی حذف خواهند شد.
در مثال زیر، می توانید محدوده متغیرهای محلی و عمومی را مشاهده نمایید:
مثال
<?php
$x=5; // global scope
function myTest()
{
$y=10; // local scope
echo "<p>Test variables inside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
}
myTest();
echo "<p>Test variables outside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
?>
خروجی کد بالا:
Test variables inside the function:
Variable x is:
Variable y is: 10Test
variables outside the function:
Variable x is: 5
Variable y is:
در مثال بالا، دو متغیر x$ و y$ و یک تابع ()myTest وجود دارد. متغیر x$، بخاطر اینکه خارج از تابع اعلان شده، عمومی است و متغیر y$، بخاطر اینکه داخل تابع اعلان شده، محلی است.
زمانی که داخل تابع ()myTest، مقادیر متغیرها را چاپ می کنیم، مقدار متغیر y$ بخاطر اینکه محلی است چاپ می شود، اما مقدار متغیر x$، چونکه خارج از تابع اعلان شده است نمی تواند چاپ شود.
سپس، زمانی که مقادیر متغیرها را خارج از تابع ()myTest چاپ می کنیم، مقدار متغیر x$ چاپ می شود، اما مقدار متغیر y$، چونکه داخل تابع ()mytest اعلان شده است نمی تواند چاپ شود.
کلمه کلیدی global در PHP
با استفاده از کلمه کلیدی global، می توانید به متغیرهای عمومی در داخل یک تابع دسترسی داشته باشید.
برای انجام این کار، از کلمه کلیدی global، قبل از نام متغیر استفاده نمایید:
مثال
<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // outputs 15
?>
خروجی کد بالا:
15
در PHP، با استفاده از آرایه GLOBALS$ نیز می توانید به متغیرهای عمومی دسترسی داشته باشید. در واقع تمام متغیرهای عمومی در این آرایه ذخیره می شوند و با استفاده از نام متغیر بعنوان ایندکس آرایه می توانید به متغیرها، دسترسی داشته باشید.
بازنویسی مثال بالا، با استفاده از آرایه GLOBALS$:
مثال
<?php
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
خروجی کد بالا:
15
کلمه کلیدی static در PHP
بطور معمول زمانی که اجرای یک تابع به پایان می رسد، تمام متغیرهای آن نیز حذف خواهند شد. اما بعضی مواقع نیاز می شود که یک متغیر محلی برای استفاده های بعدی حذف نشود.
برای انجام این کار، از کلمه کلیدی static در ابتدای اعلان متغیر، استفاده نمایید:
مثال
<?php
function myTest()
{
static $x=0;
echo $x;
echo "<br />";
$x++;
}
myTest();
myTest();
myTest();
?>
خروجی کد بالا:
هر زمان که تابع صدا زده می شود، آخرین مقدار متغیر static، حفظ می شود.
توجه: در مثال بالا، متغیر x$ محلی است و فقط در داخل تابع به آن دسیرسی وجود دارد.
نظرات شما عزیزان: